/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
$(document).ready(function(){
    //Effet au survol du menu
    $('#top-menu dd').live({hover:function () {$(this).css('padding-top','2px');},mouseout:function () {$(this).css('padding-top','0px');}});
 
    //Cacher la notification du panier
    $('#notifAjoutPanier').hide();
    //Petit effet de "secousse" si on clique sur ajouter au panier en etant deconnecte
       $('.is_connect').hide();
    $(".have_to_connect").click(function () {
        $('#formConnexion').effect("shake",{times:3},20)
        $('#messageConnexion').html("<span class='error'>Vous devez vous connecter pour acheter un produit!</span>");
        return false;
    });
    
    /*Formulaire AJAX valide sans plugin  */
    $("#formConnexion").submit(function() {                          
        //Vérification avant envoi sur serveur
        var email = $("#email").val();
        var password = $("#password").val();
        if(email.length == 0 &&  password.length == 0)
          $("#messageConnexion").html("<span class=error>Veuillez renseigner votre email et votre mot de passe.</span>");  
        else if(email.length == 0)
          $("#messageConnexion").html("<span class=error>Veuillez renseigner votre email.</span>");  
        else if(password.length == 0)
          $("#messageConnexion").html("<span class=error>Veuillez renseigner votre mot de passe.</span>");  
        else if(password.length<6)
          $("#messageConnexion").html("<span class=error>Le mot de passe doit contenir plus de 6 caractères</span>");  
        else{
          $.ajax({   
            type: "POST",
            url: "Connexion",  
            data: "action=connexion&email="+$("#email").val()+"&password="+$("#password").val(),  
            dataType: 'html',
            success:function(reponse){
                if(reponse == "false") 
                    $("#messageConnexion").html("<span class='error'>Erreur lors de la connexion, veuillez v&eacute;rifier votre login et votre mot de passe.</span>");  
                else{  
                    var url_second_image = 'images/logo_connecte.jpg';
                    $('#logo').css('background-image','url(' + url_second_image + ')'); 
                    $('#gauche').html(reponse);
                    $('.have_to_connect').hide();
                    $('span.is_connect').show();
                    $('#notifAjoutPanier').hide();
                }    
            } 
          });  
        }
        return false;
    });
    
    /*Validation du formulaire d inscription avec le plugin JQuery validate */
    $('#formInscription #creerUser').click(function(){
        $("#formInscription").validate({
            rules: {
                nom: {required: true},
                prenom: {required: true},
                email_i: {
                    required: true,
                    email: true
                },
                password_i: {
                    required: true,
                    minlength: 6
                },
                password_i_confirm: {
                    required: true,
                    minlength: 6,
                    equalTo: "#password_i"
                },
                tel: {required:true},
                adresse: {required: true},
                cp: {required: true},
                ville:{required: true}
            },
            messages: {
                nom: {required: "Veuillez renseigner votre nom"},
                prenom: {required: "Veuillez renseigner votre prenom"},
                password_i: {
                    required: "Veuillez renseigner un mot de passe",
                    minlength: "Veuillez rentrer 6 caractères au minimum"
                },
                password_i_confirm: {
                    required: "Veuillez confirmer votre mot de passe",
                    minlength: "Veuillez rentrer 6 caractères au minimum",
                    equalTo: "Veuillez entrer deux fois le même mot de passe"
                },
                    email_i: "Veuillez entrer une adresse mail valide",
                    tel: {required: "Veuillez renseigner votre téléphone (fixe ou portable)"},
                    adresse: {required: "Veuillez renseigner une adresse correcte"},
                    cp: {required: "Veuillez renseigner votre code postal"},
                    ville:{required: "Veuillez renseigner le nom de votre ville"}
                }
        });
    });
    
    /*Validation formulaire des informations personnelles avec le plugin JQuery validate */
    $('#formInfosPersonnelles #modifierInfosPersonnelles').click(function(){  
        $("#formInfosPersonnelles").validate({
            rules: {
                nom: {required: true},
                prenom: {required: true},
                email_i: {
                    required: true,
                    email: true
                },
                password_i: {
                    required: true,
                    minlength: 6
                },
                password_i_confirm: {
                    required: true,
                    minlength: 6,
                    equalTo: "#password_i"
                },
                tel: {required:true}
            },
            messages: {
                nom: {required: "Veuillez renseigner votre nom"},
                prenom: {required: "Veuillez renseigner votre prenom"},
                password_i: {
                    required: "Veuillez renseigner un mot de passe",
                    minlength: "Veuillez rentrer 6 caractères au minimum"
                },
                confirm_i_password: {
                    required: "Veuillez confirmer votre mot de passe",
                    minlength: "Veuillez rentrer 6 caractères au minimum",
                    equalTo: "Veuillez entrer deux fois le même mot de passe"
                },
                email_i: "Veuillez entrer une adresse mail valide",
                tel: {required: "Veuillez renseigner votre téléphone (fixe ou portable)"}
            }
       });
    });
    
    /*Validation du formulaire de changement d adresse a l aide du plugin validate */
    $('#formAdresse #modifierAdresse').click(function(){ 
        $("#formAdresse").validate({
            rules: {
                password_i :{required:true,minlength: 6},
                adresse: {required: true},
                cp: {required: true},
                ville:{required: true}        
            },
            messages: {
                password_i: {
                minlength:"Veuillez entrer un mot de passe de 6 caractères minimum",
                required:"Veuillez renseigner votre mot de passe actuel"},
                adresse: {required: "Veuillez renseigner une adresse correcte"},
                cp: {required: "Veuillez renseigner votre code postal"},
                ville:{required: "Veuillez renseigner le nom de votre ville"}
            }
        });
    });
   
    /*Validation du formulaire de changement d email a l aide du plugin validate */
    $('#formEmail #modifierEmail').click(function(){ 
        $("#formEmail").validate({
            rules: {
                email_i: {
                    required: true,
                    email: true
                },
                new_email_i:{
                    required: true,
                    email: true
                },
                confirm_new_email_i:{
                    required: true,
                    email: true,
                    equalTo: "#new_email_i"   
                }                       
            },
            messages: {
                new_email_i:{
                    required : "Veuillez entrer une adresse mail",
                    email : "Veuillez vérifier la syntaxe de votre email" 
                },
                confirm_new_email_i: {
                    required: "Veuillez confirmer votre nouvel email",
                    email : "Veuillez vérifier la syntaxe de votre email",
                    equalTo: "Veuillez entrer deux fois le même email"
                }
            }
        });
    });
    
    /*Validation du formulaire de changement de mot de passe a l aide du plugin validate */
    $('#formPwd #modifierPwd').live('click',function(){
        $("#formPwd").validate({
            rules: {
                password_i: {
                    required: true,
                    minlength: 6
                },
                new_password_i: {
                    required: true,
                    minlength: 6
                },
                confirm_new_password_i: {
                    required: true,
                    minlength: 6,
                    equalTo: "#new_password_i"
                }                 
            },
            messages: {
                password_i: {
                    required: "Veuillez renseigner un mot de passe",
                    minlength: "Veuillez rentrer 6 caractères au minimum"
                },
                new_password_i: {
                    required: "Veuillez renseigner un mot de passe",
                    minlength: "Veuillez rentrer 6 caractères au minimum"
                },
                confirm_new_password_i: {
                    required: "Veuillez confirmer votre mot de passe",
                    minlength: "Veuillez rentrer 6 caractères au minimum",
                    equalTo: "Veuillez entrer deux fois le même mot de passe"
                }
            }
        });
    });

    /********************FICHE PRODUIT***********/
    
    /*Galerie photos : plugin UI*/
    jQuery(function($){ 
 
      var settings = { 
        thumbListId: "thumbs", 
        imgViewerId: "viewer", 
        activeClass: "active", 
        activeTitle: "Photo en cours de visualisation", 
        loaderTitle: "Chargement en cours", 
        loaderImage: "images/loader.gif" 
      }; 
      var thumbLinks = $("#"+settings.thumbListId).find("a"), 
        firstThumbLink = thumbLinks.eq(0), 
        highlight = function(elt){ 
          thumbLinks.removeClass(settings.activeClass).removeAttr("title"); 
          elt.addClass(settings.activeClass).attr("title",settings.activeTitle); 
        }, 
        loader = $(document.createElement("img")).attr({ 
          alt: settings.loaderTitle, 
          title: settings.loaderTitle, 
          src: settings.loaderImage 
        }); 
      highlight(firstThumbLink); 
      $("#"+settings.thumbListId).before( 
        $(document.createElement("p")) 
          .attr("id",settings.imgViewerId) 
          .append( 
            $(document.createElement("img")).attr({ 
              alt: "", 
              src: firstThumbLink.attr("href") 
            }) 
          ) 
      ); 

      var imgViewer = $("#"+settings.imgViewerId), bigPic = imgViewer.children("img"); 
      thumbLinks 
        .click(function(e){ 
          e.preventDefault(); 
          var $this = $(this), 
            target = $this.attr("href"); 
          if (bigPic.attr("src") == target) return; 
          highlight($this); 
          bigPic 
            .attr("src",target); 
        }); 
 
        });
        //Notification lors de l ajout au panier
        $('#ajoutPanier').click(function(){
           $('#notifAjoutPanier').show(); 
        });
        
        //Formulaire d ajout de commentaire
        $('#formAjouterCommentaire').hide();
        $('#montrerFormAjoutCommentaire').click(function(){
            $('#formAjouterCommentaire').slideDown();
        });
        $('#formAjouterCommentaire #ajouterCommentaire').click(function(){ 
            $("#formAjouterCommentaire").validate({
                rules: {
                    commentaire :{required:true}
                },
                messages: {
                    commentaire: {
                    required:"Veuillez saisir un commentaire"}
                }
            });
        });
        /*Accordeon en dessous de la fiche produit (Description,Videos,Commentaires et autres catégories */
        $(function() {
                var stop = false;
		$( "#accordion h3" ).click(function( event ) {
			if ( stop ) {
				event.stopImmediatePropagation();
				event.preventDefault();
				stop = false;
			}
		});
		$( "#accordion" )
			.accordion({
				header: "> div > h3"
			})
			.sortable({
				axis: "y",
				handle: "h3",
				stop: function() {
					stop = true;
				}
			});
                $(".ui-accordion-content").css('height','auto');
	});
        
        /* Ajout au panier */
        $("#idProduit").hide();
        /* Message alerte pour validation commande */
        $('#validerCommande').click(function(){
            jConfirm('Confirmer votre commande ?', 'Confirmation de commande', function(r) {
                if(r==true){
                    $.ajax({   
                        type: "POST",
                        url: "PanierServlet",  
                        data: "action=validerPanier",
                        dataType: 'html',
                        success:function(reponse){
                            if(reponse == "false"){}
                            else jAlert('Félicitations, votre commande a été validée!','Commande validée');
                        } 
                    });   
                }
            });   
        })
        
        $('#validerCommande').hover($('#validerCommande').css('color','#747FD6'),$('#validerCommande').css('color','#fff'));
        
        /* Nuage de tags : plugin tagSphere */
        $('#tagsphere').tagSphere({
        height: 300,
        width: 300,
        slower: 0.65,
        radius: 75,
        timer: 30
        });
        /* Tableaux de donnees : plugin tablesorter */
        $("table.tablesorter").tablesorter(); 
});    